<?php
include '../config/config.inc.php';
// load SOAP library
require_once("../../admin/ws/libs/nusoap.php");
require_once("functions.php");
// load library that holds implementations of functions we're making available to the web service
// set namespace
$ns="http://".WS_NAME."/".FOLDER."/";
// create SOAP server object
$server = new soap_server();
// setup WSDL file, a WSDL file can contain multiple services
$server->configureWSDL('Checkflayer',$ns);
$server->wsdl->schemaTargetNamespace=$ns;
$server->wsdl->addComplexType('CheckMessage','complexType','struct','all','',
array( 'result' => array('name' => 'result','type' => 'xsd:string'),
'messaggio' => array('name' => 'messaggio','type' => 'xsd:string'),
'id' => array('name' => 'id','type' => 'xsd:integer'),
'confermato' => array('name' => 'confermato','type' => 'xsd:integer')));
$server->wsdl->addComplexType('ArrCheckMessage','complexType','array','all','',
array('rows' => array('name' => 'rows', 'type' => 'tns:CheckMessage')),'',
'tns:CheckMessage');
############# ESISTE MESSAGGIO #############################
$server->register('ws_esisteMessaggio',
array('codice' => 'xsd:string'), 	// input parameters
array('num' => 'xsd:integer'), 	// output parameter
$ns, 														// namespace
    "$ns#ws_esisteMessaggio",		                						// soapaction
    'rpc',                              						// style
    'encoded',                          						// use
    'chiede se ci sono messaggi non letti e invia il numero'            	// documentation
);

function ws_esisteMessaggio($codice){
	return new soapval('return','xsd:integer',esisteMessaggio($codice));
} 
############# LEGGI MESSAGGIO #############################
$server->register('ws_getMessaggio',
	array('codice' => 'xsd:string'), 	// input parameters
	array('messaggi' => 'tns:ArrCheckMessage'), 							// output parameter
	$ns, 														// namespace
    "$ns#ws_getMessaggio",		                						// soapaction
    'rpc',                              						// style
    'encoded',                          						// use
    'invia tutti i messaggi non letti'            	// documentation
	);

function ws_getMessaggio($codice){
return new soapval('return','tns:ArrCheckMessage',getMessaggio($codice));
}
############ CONFERMA MESSAGGIO ############################
$server->register('ws_confMessaggio',
	array('codice' => 'xsd:string','id' => 'xsd:integer'), 	
	array('result' => 'xsd:string'), 							
	$ns, 														
    "$ns#ws_confMessaggio",		                			
    'rpc',                              		
    'encoded',                          	
    'conferma un messaggio letto'            	
	);

function ws_confMessaggio($codice,$id){
return new soapval('return','xsd:string',confMessaggio($id));
}
################## INSERISCI LOG PERCORSO ###########################
$server->register('ws_putCoordinate',
	array('codice' => 'xsd:string','coord_x' => 'xsd:float','coord_y' => 'xsd:float','foto' => 'xsd:string','num' => 'xsd:string'), 	
	array('result' => 'xsd:string'), 							
	$ns, 														
    "$ns#ws_putCoordinate",		                			
    'rpc',                              		
    'encoded',                          	
    'inserimento coordinate con eventuale foto'            	
	);
function ws_putCoordinate($codice,$coord_x,$coord_y,$foto,$num){
return new soapval('return','xsd:string',putCoordinate($codice,$coord_x,$coord_y,$foto,$num));
}
## service the methods 
$server->service($HTTP_RAW_POST_DATA);
?>